from config import *
import fbs
import xmb
import gys

# 创建对象
xmb = xmb.XMB("广州软件学院-项目部", "第六组_项目部", '70')
fbs = fbs.FBS("广州软件学院-分包单位", "第六组_分包单位", '80')
gys = gys.GYS("广州软件学院-供应商1", "第六组_供应商1", '50', '60')

# # # 循环
# i = 0
# while i < 5:
#     i += 1
#     print("开始循环次数 ： " + str(i))


driver.refresh(), sleep(2)  # 刷新网页
xmb.into()  # 切换页面重置网页
fbs.into()  # 切换页面重置网页
driver.refresh(), sleep(2)  # 刷新网

# 第一步 先新增物资申请单  没问题
# xpath("//div[contains(text(), '%s')]" % fbs.name) # 进入分包商
navbar("项目管理", "物资管理", "物资申请单")  # 进入分包商物资申请单
fbs.add_application_form(),sleep(1)  # 分包商新增物资申请单

# 第二步 进入项目部  确认 物资申请单 并且 新增发料单 （没问题）
xmb.into()  # 切换账号
xmb.navbar('物资管理', '物资申请单')  # 进入分包商物资申请单  项目部专属方法
process_an_order(fbs.application_form)  # 查询订单并且处理订单 （# 查询单号并且 处理-> 确认 （驳回暂时不支持））
xmb.add_purchase_form(gys, fbs), sleep(1)  # 新增采购单 传参数 供应商和分包商


# 第三步 到供应商1 （普通物料） 确认采购计划单 和 新增 供货申请单  (没问题)
gys.into()  # 切换供应商1
navbar('项目管理', '物资管理', '采购计划单')
process_an_order(xmb.purchase_form)  # 查询订单并且处理订单 （# 查询单号并且 处理-> 确认 （驳回暂时不支持））
query('//*[@id="app"]/div/section/section/aside/ul/div/*/ul/div/li/ul/*/li', "供货申请单")  # 进入供货申请单#
gys.add_supplier_form(xmb), sleep(2)  # 供应商新增供应申请单 传入项目部参数

# 第四步 进入 项目部 确认供货申请单（没问题）
xmb.into()
xmb.navbar("物资管理", "物资申请单")  # 项目部专属方法
xpath('//*[@id="tab-2"]')
process_an_order(gys.supplier_form),sleep(2)  # 查询订单并且处理订单 （# 查询单号并且 处理-> 确认 （驳回暂时不支持））

# 第五步  供应商先补货 再出库  一次错误 （单独可以运行 没报错）
gys.into()
navbar("项目管理", "物资管理", "库存管理")
gys.put_in(), sleep(1) # 入库
gys.put_out(), sleep(1) # 出库   报错 : 3 内部增加时间  +
#
# 第六步 供应商签收入库 再进行物料检测 填写物料发货单 再进行出库  （单独不报错 ）
xmb.into()  # 切换角色
xmb.navbar("物资管理", "库存管理")
xmb.put_in()  # 入库
xmb.navbar("生产管理", "试验检测")
processing_form(xmb.put_in_form)  # 查找 入库单进行物质检测
xmb.examine()  # 物料检测
xmb.navbar("物资管理", "普通材料发料")
xmb.add_send_form(fbs)  # 新增发料单
query('//*[@id="app"]/div/section/section/aside/ul/div/*/ul/a/li', "库存管理")
xmb.put_out(fbs), sleep(2)  # 出库  报错 +

# 第七步 分包商 进行入库操作 再进行出库给施工单  整个流程就完成了
fbs.into()  # 切换角色
navbar("项目管理", "物资管理", "库存管理")
fbs.put_in()  # 入库
fbs.put_out() # 出库给施工单位  报错一次 加时间

print("跑完一次流程啦 啦 啦 啦 ")
print('')
print('')
print('')
